home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 008a / umax120.zip / UMAX.DOC next >
Text File  |  1991-11-13  |  12KB  |  266 lines

  1.       ┌─────────────────────────────────────────────────────────────┐
  2.       │ Trademarked names are the property of the respective owners │
  3.      └─────────────────────────────────────────────────────────────┘
  4.  
  5.                       UMAx
  6.                            ----
  7.                (c) Copyright 1991 FM de Monasterio
  8.                   Licensed Material - All rights reserved
  9.  
  10.                   Release 1.20
  11.  
  12.  
  13.    SUMMARY
  14.  
  15. |  UMAx allows for the testing of a number of services of the extended memory
  16. |  manager, which implements the extended memory specification in 80286-based
  17. |  or higher machines.  The testing includes upper-memory block services, and
  18. |  provides a list of the size and address of available upper-memory blocks.
  19.  
  20.  
  21.    1.  GENERAL INFORMATION
  22.  
  23.    Irrespective of the CPU, DOS runs in an 8086-compatible mode known as real
  24.    mode.  In such a mode, where addressable memory is seen as consisting of a
  25.    series of 64-kb segments, memory addresses are made up of two portions:  A
  26.    16-bit 'segment,' between 0 and 65,535 (or FFFF in hexadecimal), and a 16-
  27.    bit 'offset,' which is the distance in bytes (between 0 and FFFF) from the
  28.    address to the first byte of the segment.  By modifying the segment:offset
  29.    values, up to 1 Mb of memory can be addressed.
  30.  
  31.    In all 80x86 CPU-based DOS computers, the first megabyte (i.e. 1024 kb) of
  32.    memory comprises the initial 640 kb of address space, used by DOS, and the
  33.    remaining 384 kb of address space, used by hardware subsystems and by BIOS
  34.    routines. This addressable megabyte is referred to as conventional memory,
  35.    and its 384-kb subspace as the Upper Memory Area (UMA) or high-DOS memory.
  36.  
  37.  
  38.        ┌─────────── Conventional RAM ───────────┬── Extended ──∙∙∙
  39.                                                
  40.       0 kb                   640 kb           1024 kb
  41.        │                      │       UMA       │       EMBs
  42.        ▒▒▒▒▒▒▒▒▒▒∙∙∙▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░∙∙∙
  43.                                                 
  44.                                                HMA
  45.  
  46.  
  47.    The extended memory specification (XMS) is a software interface for 80286-
  48.    based or higher computers, allowing real-mode programs to use the extended
  49.    memory as well as certain regions of conventional memory which are located
  50.    above the 640-kb DOS hardware barrier. The UMA is one such region.
  51.  
  52.    The UMA is dedicated to video display and other hardware memory as well as
  53.    the ROM BIOS. Not all the HMA is normally used, so unused addresses can be
  54.    backfilled with a memory manager. Some XMS managers, such as the prototype
  55.    HIMEM.SYS, rely on other programs for the backfilling and simply arbitrate
  56.    UMB use.  Other XMMs, such as XMS-compatible 386-specific memory managers,
  57.    can both backfill UMBs and arbitrate their use. (Examples of such managers
  58.    are QEMM386.SYS [Quarterdeck] and 386MAX.SYS [Qualitas]).
  59.  
  60.    Current XMS versions provide two UMB services: (1) Function 10h, which can
  61.    be used to allocate a UMB of the requested size (if successful returns the
  62.    segment base of the allocated block and the actual UMB size; otherwise, it
  63.    returns the largest available block size), and (2) function 11h, which can
  64.    be used to free allocated UMBs.
  65.  
  66.    By taking advantage of these services, some resident utilities can install
  67.    themselves in upper memory (to preserve the lower conventional memory used
  68.    by DOS). Further, unlike the UMB-loading programs currently available with
  69.    some memory managers, some of such resident utilities also allow selection
  70.    of a UMA memory boundary above which to install themselves (to avoid areas
  71.    with memory access, for example).
  72.  
  73. |  The XMS also permits the use of another upper region, the High Memory Area
  74. |  (HMA) which is the first 64 kb of extended memory in 80286-based or higher
  75. |  machines; unlike other regions of extended memory, the HMA can be accessed
  76. |  while in real mode (if the A20 Line [the 21st memory address line of 80x86
  77. |  CPUs] is enabled).
  78.  
  79.  
  80.    DOS-MEDIATED UMB ALLOCATION (MS-DOS 5.0)
  81.  
  82. |  Distributed MS-DOS and PC-DOS versions prior to MS-DOS 5.0 did not control
  83. |  UMB allocation.  When the (DOS-5 distributed) XMM driver HIMEM.SYS and the
  84. |  UMB-provider EMM386.EXE are installed, and DOS 5.0 is reconfigured via the
  85. |  command 'DOS=UMB' in the CONFIG.SYS file, all available UMBs are allocated
  86. |  to DOS, which makes them available to requesting programs through standard
  87. |  interrupt-21h function calls (when the UMA is linked to DOS).  Although it
  88. |  is a somewhat more complex process, some resident utilities can also self-
  89. |  install themselves in the UMA when DOS controls UMB allocation.
  90.  
  91.  
  92.  
  93.    2.  XMS SERVICES
  94.  
  95. |  UMAx tests the UMB services of the XMS manager or DOS 5 (if UMB allocation
  96. |  is under DOS control).  It allocates progressively smaller blocks until no
  97. |  more free memory is available in the UMA, lists all of the allocated UMBs,
  98. |  and then deallocates the blocks. It also provides a graphic display of the
  99. |  available UMBs.
  100.  
  101.    In the default mode, UMAx tests UMB functions between the lower address of
  102.    640 kb (hexadecimal segment A000) and the upper address of 1,024 kb (hexa-
  103.    decimal segment FFFF).  A higher lower address can be specified via switch
  104.    /H (see below).
  105.  
  106. |  Optionally, UMAx can also test some basic XMS services: (1) allocation and
  107. |  release of the HMA, (2) global and local enabling and disabling of the A20
  108. |  Line, and (3) allocation, resizing, and release of a extended memory block
  109. |  (EMB).
  110.  
  111.  
  112.    3.  USAGE
  113.                 UMAX [/Hn /X] [;Comments]
  114.  
  115.    where switch Hn defines use of a hexadecimal address to be used as a lower
  116.    boundary for the UMA, in which A000 (640 kb) ≤ 'n' ≤ FFFF (1,024 kb). If a
  117.    null ('n' missing) or invalid address is given (A000 > 'n' > FFFF) the UMA
  118.    lower boundary of A000 is used.
  119.  
  120. |  Switch X tests basic, non-UMB services of the XMS.
  121.  
  122.    Comments may be added at the end of the command line invoking the program,
  123.    after the desired switches.  The comments, which may help clarifying batch
  124.    files, must be preceded by a semicolon (;) and are ignored by UMAx.
  125.  
  126.    Do not use the redirection command or the pipe command character of DOS in
  127.    these comments because DOS will try to implement the implied command(s).
  128.  
  129.  
  130.  
  131.    4.  ERROR MESSAGES
  132.  
  133.    4.1  "Code is corrupted (CRC failure) - Execution cancelled"
  134.    A cyclical redundancy check carried out every time the program is executed
  135.    returned a wrong value, indicating corruption or tampering of the code.
  136.  
  137.  
  138.    4.2  "Failed to detect presence of an XMS manager (XMM)"
  139.    An XMS manager complying with the specifications of XMS 2 or higher is not
  140.    installed.
  141.  
  142.  
  143.    4.3  "UMB services not implemented [XMS error code 80h]"
  144.    The installed XMS manager does support UMB services or cannot backfill the
  145.    unused addresses in the UMA.
  146.  
  147.  
  148.    4.4  "General driver error [XMS error code 8Eh]"
  149.    4.5  "Unrecoverable driver error [XMS error code 8Fh]"
  150.    4.6  "Undetermined XMM error [XMS error code ??h]"
  151.    The XMS manager experienced a fatal error and program execution cannot be
  152.    continued. The problem may be cleared by rebooting the CPU.
  153.  
  154.  
  155.    4.7  "XMM could not allocate UMB [XMS error code B1h]"
  156.    The XMS manager was unable to allocate a requested UMB; reboot the CPU to
  157.    reset the UMA allocation.
  158.  
  159.  
  160.    4.8  "XMM could not release UMB [XMS error code B2h]"
  161.    The XMS manager was unable to release an allocated UMB; reboot the CPU to
  162.    reset the UMA allocation.
  163.  
  164.  
  165.    4.9  "UMBs are not available above this segment..."
  166.    There are no available free UMBs between the hexadecimal segment specified
  167.    above and segment FFFF; if a lower boundary was specified via switch H for
  168.    the UMA, try using a smaller (lower) value. See section 4.1.
  169.  
  170.  
  171.  ------------------------------------------------------------------------------
  172.  
  173.    5.  LICENSE
  174.  
  175.    This documentation, programs, and other files distributed in this software
  176.    package (the "Software")  are the copyrighted property of FM de Monasterio
  177.    (the "Author") who provides the Software and licenses its use.  All rights
  178.    are reserved. 
  179.  
  180.    If you would like to use this Software for education or nonprofit purposes
  181.    at home, please make a donation for poor children in need of medical care,
  182.    sending to the address below a check marked "For Deposit Only" and payable
  183.    to "PATIENT CARE FUND, CHILDREN'S HOSPITAL, Washington DC."  All donations
  184.    are sent to this hospital.  (Please indicate the program for which you are
  185.    making the donation.)
  186.  
  187.    For use by corporations, institutions or goverment agencies, or for-profit
  188.    purposes, contact the Author for licensing information.
  189.  
  190.  
  191.    U.S. GOVERNMENT INFORMATION
  192.  
  193.    The use, duplication, or disclosure by the U.S. Government of the Software
  194.    is subject to the restricted rights applicable to commercial software that
  195.    are specified in the subdivision (b.3.ii) of the 'Rights in Technical Data
  196.    and Computer Software' clause, document DFARS 52.227-7013.
  197.  
  198.  
  199.    DISTRIBUTION
  200.  
  201.    You may distribute this Software via magnetic and/or electronic means, but
  202.    you are specifically prohibited from:
  203.  
  204.     - Charging fees or asking donations in exchange of or payment
  205.       for copies of this Software.
  206.  
  207.     - Distributing this Software with commercial products without
  208.       the written, express permission in advance from the author.
  209.  
  210.     - Distributing this Software via a for-profit organization or
  211.       group, either alone or with other software.
  212.  
  213.     - Modifying any contents of this Software, including, but not
  214.       limited to, the copyright notice and this license.
  215.  
  216.  
  217.    The unauthorized copying, decompiling or disassembling of this Software is
  218.    prohibited.  Any other use of this Software is also prohibited without the
  219.    express, written permision in advance from the author.
  220.  
  221.  
  222.    WARRANTY DISCLAIMER
  223.  
  224.    The Author cannot and does not warrant that any functions contained in the
  225.    Software will meet your requirements, or that its operations will be error
  226.    free.  The entire risk as to the Software performance or quality, or both,
  227.    is solely with the user and not the Author.  You assume responsibility for
  228.    the selection of the program to achieve your intended results, and for the
  229.    installation, use, and results obtained from the Software.
  230.  
  231.    The Author makes no warranty, either implied or expressed, including with-
  232.    out limitation any warranty with respect to this Software documented here,
  233.    its quality, performance, or fitness for a particular purpose. In no event
  234.    shall the Author be liable to you for damages, whether direct or indirect,
  235.    incidental, special, or consequential arising out the use of or any defect
  236.    in the Software, even if the Author has been advised of the possibility of
  237.    such damages, or for any claim by any other party.
  238.  
  239.    All other warranties of any kind, either express or implied, including but
  240.    not limited to the implied warranties of merchantability and fitness for a
  241.    particular purpose, are expressly excluded.
  242.  
  243.  
  244.    LIMITATION OF REMEDIES
  245.  
  246.    The information contained in the documentation for the Software is subject
  247.    to change without notice.
  248.  
  249.    The Author's entire liability, and your exclusive remedy shall be: (1) the
  250.    replacement of an original Software diskette not meeting the above Limited
  251.    Warranty and which is returned to the Author along with proof of purchase,
  252.    or (2), if the Author is unable to deliver a replacement diskette which is
  253.    free of defects, you may terminate the License Agreement by returning this
  254.    Software and the corresponding license fee will be returned.
  255.  
  256.    By using the Software, you acknowledge (1) to have read and understood all
  257.    parts of this document and (2) to have agreed with and accepted all of its
  258.    provisions without any reservation.
  259.  
  260.                         FM de Monasterio
  261.                         P.O. Box 219
  262.                         Cabin John, MD 20818-0219
  263.  
  264.  ------------------------------------------------------------------------------
  265.  [END]
  266.